// src/main/java/com/yin/waimai/service/AmapWebService.java
package com.yin.waimai.service;

import com.yin.waimai.model.Address;
import com.yin.waimai.service.impl.AmapWebServiceImpl; // 导入内部类 RouteInfo

import java.util.List;
import java.util.Optional;

public interface AmapWebService {

    Optional<String> geocodeAddress(String address, String city);

    /**
     * 驾车路径规划
     * @param originLngLat 起点经纬度 "经度,纬度"
     * @param destinationLngLat 终点经纬度 "经度,纬度"
     * @return Optional<RouteInfo> 包含路径坐标点列表和距离，如果成功；否则为空
     */
    Optional<AmapWebServiceImpl.RouteInfo> getDrivingRoute(String originLngLat, String destinationLngLat); // 返回类型修改

    /**
     * 辅助方法，获取订单的完整路径信息 (坐标和距离)
     * @param shipperAddress 发货地址
     * @param recipientAddress 收货地址
     * @return Optional<RouteInfo> 包含路径坐标点列表和距离，如果成功；否则为空
     */
    Optional<AmapWebServiceImpl.RouteInfo> getOrderRoutePath(Address shipperAddress, Address recipientAddress); // 返回类型修改
}